home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / comm / bbs / cit_src_AD08.lha / DisplayDate.c < prev    next >
C/C++ Source or Header  |  1998-06-20  |  1KB  |  67 lines

  1. /**
  2.    Display a formatted date
  3.  
  4.    9-june-1998 afp  created initial version
  5. **/
  6. #include "ctdl.h"
  7. #include "math.h"
  8. #include "dos.h"
  9. #include "ctype.h"
  10. #include "ansisys.h"
  11.  
  12. extern CONFIG    cfg;         /* A buncha variables   */
  13. extern logBuffer logBuf;      /* Pippul buffer    */
  14. extern char      loggedIn;  /* Are we logged in?    */
  15.  
  16. typedef enum { STANDARD, LONG_DATE, SHORT_DATE } date_type;
  17.  
  18. static char new_date[20];
  19. char *DisplayDate(char *normal_date)
  20.   {
  21.   /**
  22.     date is input in "normal form", 100JAN01 is 2000 jan 01
  23.  
  24.   **/
  25.   date_type  the_format;
  26.   int  year;
  27.   char *mon;
  28.  
  29.   if ( !loggedIn )
  30.     {
  31.     if( cfg.BoolFlags.DFDATE == 0 )
  32.       {
  33.       the_format = STANDARD;
  34.       }
  35.     else
  36.       {
  37.       the_format = ( cfg.BoolFlags.LGDATE == 0 ) ? SHORT_DATE : LONG_DATE;
  38.       };
  39.     }
  40.   else
  41.     {
  42.     if( logBuf.lbflags.DF_DATE == 0 )
  43.       {
  44.       the_format = STANDARD;
  45.       }
  46.     else
  47.       {
  48.       the_format = ( logBuf.lbflags.LG_DATE == 0 ) ? SHORT_DATE : LONG_DATE;
  49.       };
  50.     };
  51.   if( the_format == STANDARD   ) return normal_date;
  52.   year = atoi(normal_date);
  53.   if( year >=0     && year <=   65 ) year += 70;  /* fix funny dates */
  54.   if( the_format == SHORT_DATE )
  55.     {
  56.     year %= 100;
  57.     }
  58.   else
  59.     {
  60.     year += 1900;
  61.     };
  62.     mon = normal_date;
  63.     while( isdigit(*mon) )mon++;  /* skip past year */
  64.     sprintf(new_date,"%02d %s",year,mon);
  65.   return new_date;
  66.   }
  67.